const koa = require('koa')
const cors = require('koa2-cors')
const analysis = require('./analysis')

const app = new koa()

// 永许跨域请求配置
app.use(
  cors({
    origin: function(ctx) { //设置允许来自指定域名请求
      return '*'; // 允许来自所有域名请求
    },
    maxAge: 5, //指定本次预检请求的有效期，单位为秒。
    credentials: true, //是否允许发送Cookie
    allowMethods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'], //设置所允许的HTTP请求方法'
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'], //设置服务器支持的所有头信息字段
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] //设置获取其他自定义字段
  })
);

// 监听上报接口
app.use(async (ctx, next) => {
  if (ctx.request.path === '/error') {
    // 调用analysis方法分析错误信息
    const data = await analysis(ctx.request.query.error)
    ctx.body = {
      status: 200,
      data
    }
  } else  {
    await next()
  }
})

app.listen(3000)